package org.laperra.tienda.model1;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.TableGenerator;

@Entity
public class TipoProducto{

	
	private Integer idTipoProducto;
	private String descripcion;
	private List<Producto>productos;
	
	
	
	public TipoProducto(){}
	
	public TipoProducto(Integer idTipoProducto, String descripcion) {
		this.idTipoProducto = idTipoProducto;
		this.descripcion = descripcion;
	}
	@Id
	@TableGenerator(name="idTipoProducto",table="TipoProductoPrimaryKey",pkColumnName="tipoProductoKey",pkColumnValue="tipoProductoValor", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.TABLE, generator="idTipoProducto")//genera un valor para la clave de forma automatica
	public Integer getIdTipoProducto() {
		return idTipoProducto;
	}
	public void setIdTipoProducto(Integer idTipoProducto) {
		this.idTipoProducto = idTipoProducto;
	}

	@Column(nullable=false)
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	@OneToMany(targetEntity=Producto.class, mappedBy="tipoProducto", cascade=CascadeType.ALL,fetch=FetchType.EAGER)
	public List<Producto> getProductos() {
		return productos;
	}
	
	public void setProductos(List<Producto> productos) {
		this.productos = productos;
	}
	
	
	
	
}
